Extended SSA Numbering: Introducing SSA Properties to Language with Multi-level Pointers
نویسندگان
چکیده
Static Single Assignment (SSA) intermediate representations have become quite popular in compiler development. One advantage of the SSA form is that each variable corresponds to exactly one deenition, and thus two references of the same SSA variable must denote the same value. To date, most SSA forms concentrate on scalar variables, and it is diicult to extend these intermediate representations to languages with multi-level pointers, such as C. We introduce Extended SSA Numbering analysis, which concentrates on the \same name, same deenition" properties of SSA form while compromising on other aspects. What is not provided is well compensated for by new properties introduced for pointer references such as *p. Two references of *p with the same Extended SSA numbers denote the same value.
منابع مشابه
Extended SSA Numbering: Introducing SSA properties to languages with multi-level pointers
Static Single Assignment (SSA) intermediate representations have become quite popular in compiler development. One advantage of the SSA form is that each use of a variable corresponds to exactly one de nition, and thus two references of the same SSA variable must denote the same value. To date, most SSA forms concentrate on scalar variables, and it is di cult to extend these intermediate repres...
متن کاملA Formally Verified SSA-Based Middle-End - Static Single Assignment Meets CompCert
CompCert is a formally verified compiler that generates compact and efficient PowerPC, ARM and x86 code for a large and realistic subset of the C language. However, CompCert foregoes using Static Single Assignment (SSA), an intermediate representation that allows for writing simpler and faster optimizers, and is used by many compilers. In fact, it has remained an open problem to verify formally...
متن کاملSea Surfaces Scattering by Multi-Order Small-Slope Approximation: a Monte-Carlo and Analytical Comparison
L-band electromagnetic scattering from two-dimensional random rough sea surfaces are calculated by first- and second-order Small-Slope Approximation (SSA1, 2) methods. Both analytical and numerical computations are utilized to calculate incoherent normalized radar cross-section (NRCS) in mono- and bi-static cases. For evaluating inverse Fourier transform, inverse fast Fourier transform (IFFT) i...
متن کاملInter-iteration Scalar Replacement Using Array SSA Form
In this paper, we introduce novel simple and efficient analysis algorithms for scalar replacement and dead store elimination that are built on Array SSA form, a uniform representation for capturing control and data flow properties at the level of array or pointer accesses. We present extensions to the original Array SSA form representation to capture loop-carried data flow information for array...
متن کاملEffective Representation of Aliases and Indirect Memory Operations in SSA Form
This paper addresses the problems of representing aliases and indirect memory operations in SSA form. We propose a method that prevents explosion in the number of SSA variable versions in the presence of aliases. We also present a technique that allows indirect memory operations to be globally commonized. The result is a precise and compact SSA representation based on global value numbering, ca...
متن کامل